package org.example.memora.mapper;

import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.example.memora.entity.PostLikeStat;

public interface PostLikeStatMapper {

    /**
     * 插入一条帖子点赞统计记录
     * @param record 帖子点赞统计实体
     * @return 受影响的行数
     */
    int insert(PostLikeStat record);

    /**
     * 根据帖子ID查询点赞统计信息
     * @param postId 帖子ID
     * @return 帖子点赞统计实体
     */
    PostLikeStat selectByPrimaryKey(String postId);

    /**
     * 根据帖子ID更新点赞统计信息（如更新点赞数）
     * @param record 帖子点赞统计实体
     * @return 受影响的行数
     */
    int updateByPrimaryKey(PostLikeStat record);

    /**
     * 根据帖子ID删除对应的点赞统计记录
     * @param postId 帖子ID
     * @return 受影响的行数
     */
    int deleteByPrimaryKey(String postId);
    @Update("UPDATE post_like_stat SET like_count = like_count + #{count} WHERE post_id = #{postId}")
    void incrementPostLikeCount(String postId, int count);

    @Select("SELECT like_count FROM post_like_stat WHERE post_id = #{postId}")
    int selectLikeCountInt(String postId);
}
